home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 125 / Computer Shopper CD-ROM Issue 125 (1998-07)(Dennis Publishing).iso / Business / Dazzler / DAZZLER.Z / CCourse.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-26  |  5.5 KB  |  311 lines

  1. import java.awt.Event;
  2. import java.awt.Point;
  3. import java.io.DataInputStream;
  4. import java.util.NoSuchElementException;
  5.  
  6. public class CCourse {
  7.    CVariableTable m_VariableTable = new CVariableTable(true);
  8.    CStringArray m_PathVariablesList = new CStringArray();
  9.    CIconObject m_pActivateIconObject;
  10.    CIconObject m_IconObject = new CIconObject();
  11.    CTaskList m_TaskList = new CTaskList();
  12.    CCourse m_pCourseCalledFrom = null;
  13.    CTask m_pTaskCalledFrom = null;
  14.    CTask m_pCurrentTask;
  15.    boolean m_bCloseWhenPossible;
  16.    boolean m_bUnload = false;
  17.    String strFileName;
  18.    int m_nFileVersion;
  19.    int m_nPreviousTaskTag;
  20.  
  21.    CCourse GetCalledFromCourse() {
  22.       return this.m_pCourseCalledFrom;
  23.    }
  24.  
  25.    boolean OnSetupResponse() {
  26.       CActivateObjectReturn var1 = new CActivateObjectReturn();
  27.       var1.boolVal = false;
  28.       if (this.m_pCurrentTask != null) {
  29.          var1 = this.m_pCurrentTask.OnSetupResponse();
  30.          this.m_pActivateIconObject = var1.pActivateObject;
  31.       }
  32.  
  33.       return var1.boolVal;
  34.    }
  35.  
  36.    boolean OnCommand(short var1, Object var2) {
  37.       if (this.m_pCurrentTask != null) {
  38.          this.m_pActivateIconObject = this.m_pCurrentTask.GetResponseManager().ProcessCommand(var1, var2);
  39.          if (this.m_pActivateIconObject != null) {
  40.             return true;
  41.          }
  42.       }
  43.  
  44.       return false;
  45.    }
  46.  
  47.    CTask FindTaskTag(int var1) {
  48.       boolean var2 = true;
  49.       CTask var3 = new CTask();
  50.  
  51.       try {
  52.          var3 = this.m_TaskList.GetHead();
  53.       } catch (NoSuchElementException var5) {
  54.          var2 = false;
  55.       }
  56.  
  57.       while(var2) {
  58.          if (var3.GetTagNumber() == var1) {
  59.             return var3;
  60.          }
  61.  
  62.          try {
  63.             var3 = this.m_TaskList.GetNext();
  64.          } catch (NoSuchElementException var4) {
  65.             var2 = false;
  66.          }
  67.       }
  68.  
  69.       return null;
  70.    }
  71.  
  72.    boolean OnEvent() {
  73.       if (this.m_pCurrentTask != null) {
  74.          this.m_pActivateIconObject = this.m_pCurrentTask.GetResponseManager().ProcessEvent();
  75.          if (this.m_pActivateIconObject != null) {
  76.             return true;
  77.          }
  78.       }
  79.  
  80.       return false;
  81.    }
  82.  
  83.    boolean OnNotify(int var1, String var2) {
  84.       boolean var3 = false;
  85.       if (this.m_pCurrentTask != null) {
  86.          this.m_pActivateIconObject = this.m_pCurrentTask.GetResponseManager().ProcessNotify(var1, var2);
  87.          if (this.m_pActivateIconObject != null) {
  88.             var3 = true;
  89.          }
  90.       }
  91.  
  92.       return var3;
  93.    }
  94.  
  95.    boolean OnKeyPress(int var1, Event var2) {
  96.       if (this.m_pCurrentTask != null) {
  97.          this.m_pActivateIconObject = this.m_pCurrentTask.GetResponseManager().ProcessKeyPress(var1, var2);
  98.          if (this.m_pActivateIconObject != null) {
  99.             return true;
  100.          }
  101.       }
  102.  
  103.       return false;
  104.    }
  105.  
  106.    void SetActiveIconObject(CIconObject var1) {
  107.       this.m_pActivateIconObject = var1;
  108.    }
  109.  
  110.    String ConstructFileName(String var1) {
  111.       var1 = Utils.InsertVariablesInString(var1);
  112.       return var1;
  113.    }
  114.  
  115.    int OnDoResponse() {
  116.       new CResponseReturn();
  117.       if (this.m_pCurrentTask != null) {
  118.          int var3 = 0;
  119.          int var4 = this.m_nPreviousTaskTag;
  120.          this.m_nPreviousTaskTag = this.m_pCurrentTask.GetTagNumber();
  121.          CResponseReturn var1 = this.m_pCurrentTask.OnDoResponse(this.m_pActivateIconObject, var3);
  122.          int var2 = var1.m_nRet;
  123.          var3 = var1.m_nNextTaskTag;
  124.          switch (var2) {
  125.             case -5:
  126.                this.m_pCurrentTask = null;
  127.                break;
  128.             case -4:
  129.                this.m_pCurrentTask = this.m_TaskList.GetTail();
  130.                break;
  131.             case -3:
  132.                this.m_pCurrentTask = this.m_TaskList.GetHead();
  133.                break;
  134.             case -1:
  135.                if ((this.m_pCurrentTask = this.FindTaskTag(var4)) == null) {
  136.                   this.m_pCurrentTask = this.m_TaskList.GetNext(this.m_pCurrentTask);
  137.                }
  138.                break;
  139.             case 1:
  140.             default:
  141.                this.m_pCurrentTask = this.m_TaskList.GetNext(this.m_pCurrentTask);
  142.                break;
  143.             case 2:
  144.                if ((this.m_pCurrentTask = this.FindTaskTag(var3)) == null) {
  145.                   this.m_pCurrentTask = this.m_TaskList.GetNext(this.m_pCurrentTask);
  146.                }
  147.                break;
  148.             case 32:
  149.                this.m_nPreviousTaskTag = var4;
  150.                return -1;
  151.          }
  152.       }
  153.  
  154.       return this.m_pCurrentTask == null ? 0 : 1;
  155.    }
  156.  
  157.    void SetCurTask(CTask var1) {
  158.       this.m_pCurrentTask = var1;
  159.    }
  160.  
  161.    void AddEventsToActiveList() {
  162.       CTask var1 = null;
  163.       boolean var2 = false;
  164.  
  165.       try {
  166.          var1 = this.m_TaskList.GetHead();
  167.       } catch (NoSuchElementException var4) {
  168.          var2 = true;
  169.       }
  170.  
  171.       while(!var2) {
  172.          if (var1 != null) {
  173.             var1.GetEventManager().SetEvents(this, var1);
  174.          }
  175.  
  176.          try {
  177.             var1 = this.m_TaskList.GetNext();
  178.          } catch (NoSuchElementException var3) {
  179.             var2 = true;
  180.          }
  181.       }
  182.  
  183.    }
  184.  
  185.    boolean OnTimer(int var1) {
  186.       if (this.m_pCurrentTask != null) {
  187.          this.m_pActivateIconObject = this.m_pCurrentTask.GetResponseManager().ProcessTimer(var1);
  188.          if (this.m_pActivateIconObject != null) {
  189.             return true;
  190.          }
  191.       }
  192.  
  193.       return false;
  194.    }
  195.  
  196.    boolean OnDoAction() {
  197.       return this.m_pCurrentTask != null ? this.m_pCurrentTask.OnDoAction() : false;
  198.    }
  199.  
  200.    void SetCalledFromCourse() {
  201.       this.SetCalledFromCourse((CCourse)null, (CTask)null);
  202.    }
  203.  
  204.    void SetCalledFromCourse(CCourse var1) {
  205.       this.SetCalledFromCourse(var1, (CTask)null);
  206.    }
  207.  
  208.    void SetCalledFromCourse(CCourse var1, CTask var2) {
  209.       this.m_pCourseCalledFrom = var1;
  210.       this.m_pTaskCalledFrom = var2;
  211.    }
  212.  
  213.    boolean OnMouseClick(int var1, int var2, Point var3) {
  214.       if (this.m_pCurrentTask != null) {
  215.          this.m_pActivateIconObject = this.m_pCurrentTask.GetResponseManager().ProcessMouseClick(var1, var2, var3);
  216.          if (this.m_pActivateIconObject != null) {
  217.             return true;
  218.          }
  219.       }
  220.  
  221.       return false;
  222.    }
  223.  
  224.    CTask GetCalledFromTask() {
  225.       return this.m_pTaskCalledFrom;
  226.    }
  227.  
  228.    CTask GetCurTask() {
  229.       return this.m_pCurrentTask;
  230.    }
  231.  
  232.    void ResetHistory() {
  233.       int var1 = 0;
  234.       CTask var2 = null;
  235.       boolean var3 = false;
  236.  
  237.       try {
  238.          var2 = this.m_TaskList.GetHead();
  239.       } catch (NoSuchElementException var6) {
  240.          var3 = true;
  241.       }
  242.  
  243.       while(!var3) {
  244.          if (var2 != null) {
  245.             var2.ResetHistory();
  246.             if (var2.HasLogResponse()) {
  247.                ++var1;
  248.             }
  249.          }
  250.  
  251.          try {
  252.             var2 = this.m_TaskList.GetNext();
  253.          } catch (NoSuchElementException var5) {
  254.             var3 = true;
  255.          }
  256.       }
  257.  
  258.       CVariable var4 = Utils.SearchAllVariables(CVariableTable.strDefVariables[3]);
  259.       if (var4 != null) {
  260.          var4.SetValue((double)var1);
  261.       }
  262.  
  263.    }
  264.  
  265.    boolean LoadCourse(DataInputStream var1, CTaskList var2) {
  266.       FileLoad.ReadCPlusInt(var1);
  267.       String var3 = FileLoad.ReadNonUnicodeString(var1, 3);
  268.       if (var3.equals("cpm")) {
  269.          System.out.println("Sorry, Dazzler cannot load CPM courses!");
  270.          return false;
  271.       } else if (!var3.equals("mcl")) {
  272.          System.out.println("This is not a valid Dazzler file: " + var3);
  273.          return false;
  274.       } else {
  275.          this.m_nFileVersion = FileLoad.ReadCPlusInt(var1);
  276.          if (this.m_nFileVersion > 4) {
  277.             System.out.println("This presentation was created with a newer version of Dazzler");
  278.          }
  279.  
  280.          CRect var4 = new CRect();
  281.          var4.LoadFromFile(var1);
  282.          FileLoad.ReadCPlusInt(var1);
  283.          Globals.CUR_COURSE = this;
  284.          FileLoad.ReadCPlusByte(var1);
  285.          FileLoad.ReadCString(var1);
  286.          this.m_VariableTable.LoadFromFile(var1);
  287.          this.m_PathVariablesList.LoadFromFile(var1);
  288.          this.m_IconObject.LoadFromFile(var1);
  289.          this.m_TaskList.LoadFromFile(var1);
  290.          this.m_pCurrentTask = this.m_TaskList.GetHead();
  291.          Globals.thePresView.m_ObjArray = new CObjectLoadArray();
  292.          return true;
  293.       }
  294.    }
  295.  
  296.    boolean OnMouseMove(int var1, Point var2) {
  297.       if (this.m_pCurrentTask != null) {
  298.          this.m_pActivateIconObject = this.m_pCurrentTask.GetResponseManager().ProcessMouseMove(var1, var2);
  299.          if (this.m_pActivateIconObject != null) {
  300.             return true;
  301.          }
  302.       }
  303.  
  304.       return false;
  305.    }
  306.  
  307.    boolean LoadCourseFromFile(DataInputStream var1) {
  308.       return this.LoadCourse(var1, this.m_TaskList);
  309.    }
  310. }
  311.